package cn.bytecollege.common.dao;

import java.util.List;

public interface IBaseDao<T,ID> {
    /**
     * 查询所有数据
     * @return
     */
    List<T> find(Object...objects);

    /**
     * 分页查询数据
     * @param pageIndex
     * @param pageSize
     * @return
     */
    List<T> findByPage(int pageIndex,int pageSize,Object...objects);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    T findById(ID id);

    /**
     * 保存数据
     * @param t
     * @return
     */
    int save(T t);

    /**
     * 根据ID删除
     * @return
     */
    int deleteById(ID id);

    /**
     * 根据某个字段删除
     * @param t
     * @return
     */
    int delete(T t);

    /**
     * 更新操作
     * @param t
     * @return
     */
    int update(T t);
}
